---

title: "Docker Swarm"
date: 2023-04-16T12:17:01+03:00
description: ""
tags: []
ShowToc: true
ShowBreadCrumbs: true
draft: false
---

На основе [Docker Swarm VS Kubernetes — как бизнес выбирает оркестраторы](https://habr.com/ru/amp/post/672666/)

Swarm это стандартный оркестратор для docker контейнеров, доступный из «коробки», если у вас установлен сам docker.

![manager-worker](/img/docker-swarm/manager-worker.jpg)

Node - виртуалка (виртуальная машина, сервер), на котором есть Docker. Есть manager и workers ноды. Manager нода управляет workers нодами. Она отвечает за создание/обновление/удаление сервисов на workers, а также за их масштабирование и поддержку в требуемом состоянии. Workers ноды используются только для выполнения поставленных задач и не могут управлять кластером.

Stack - набор логически связанных сервисов (указаны в Docker compose)
Части stack (services) могут располагаться как на одной ноде, так и на разных.

Service - элемент stack.

Task - container

![stack](/img/docker-swarm/stack.jpg)

Безопасность K8s технически не сильно надежнее DS. Оба могут юзать vault.

Каждый узел в Docker Swarm защищается аутентификацией и шифрованием TLS. Коммуникация между узлами чаще всего и является проблемной областью.


Докер подписки изучить (!!!)

Docker swarm подойдет, если
нет девопса, команда сама этим занимается
Ручное автомасштабирование - не проблема
До 1000 нод, но минимально достаточно 1 ( в кубере нужно 3)
Нет большого объема рабочих нагрузок
Нет потребности использовать другой тип контейнеров (CRI-O совместимых)
Не нужна гибкость настроек как K8s

Из статьи [Как жили до Kubernetes: сравниваем самый популярный оркестратор с другими решениями](https://habr.com/ru/company/vk/blog/543232/)

В документации Docker Swarm даны рекомендации только по числу узлов-менеджеров — 7 штук. Максимальное число контейнеров будет определяться, скорее, ограничениями ОС, но пользователи Swarm советуют придерживаться похожих рекомендаций: 100 контейнеров на ноду.

[Возможность выбора docker swarm]({{< ref "202304072237-kubernetes-reasons-for-using.md#docker-swarm" >}})
